package config

import (
	"fmt"
	"net"
)

// ListenPortIsUse 检查端口是否被占用
// 返回值：true表示端口已被占用，false表示端口可用
func ListenPortIsUse(port int) bool {
	address := fmt.Sprintf(":%d", port)

	// 尝试监听端口
	listener, err := net.Listen("tcp", address)

	if err != nil {
		// 监听失败，说明端口已被占用
		return true
	}
	// 监听成功，说明端口未被占用，关闭临时监听器
	defer listener.Close()
	return false
}
